package com.elephant.wms.common.infrastructure.enums;

import lombok.Getter;

/**
 * 错误码说明
 * IN - 代表入库，业务应用模块
 * 01 - 代表收货单，应用模块功能域
 * B  - 代表业务规则错误，错误类型
 * 111001 - 6位错误编码，1 收货单，1收货单明细，1扩展EXT，3位自定义码
 */
public enum INPUT_ERROR {

    // 收货单错误
    IN01B100001("收货单库位为空"),
    IN01B100002("收货单操作人为空"),
    // 收货单扩展错误
    IN01B101001("该存储位已存在未完成收货单"),

    // 收货单明细错误
    IN01B110001("收货明细数量不能少于 1"),
    // 收货单明细扩展错误
    IN01B111001("明细与收货单货主不一致"),
    IN01B111002("未找到对应收货单"),
    IN01B111003("收货单已完成，无法新增明细"),
    IN01B111004("明细与收货单货品正/残不一致"),

    //收货通知单明细错误
    IN02B210001("收货通知明细数量不能少于 1"),
    IN02B210002("未找到对应通知单"),
    IN02B210003("通知单非创建状态，无法新增明细"),
    IN02B210004("明细与通知单货主不一致"),
    IN02B210005("同一通知单同一商品仅支持一条明细"),

    // 通用错误
    IN00B0000001("货主下无此商品"),
    IN00B0000002("货主编码为空"),
    IN00B0000003("货主编码不存在"),
    IN00B0000004("存储位编码不存在")
    ;

    @Getter
    private String desc;

    INPUT_ERROR(String desc) {
        this.desc = desc;
    }
}
